package org.sky.cloud.common.http.request;

import org.sky.cloud.common.http.response.HttpClientResponse;
import org.sky.cloud.common.model.RequestHttpEntity;

import java.io.Closeable;
import java.net.URI;


public interface HttpClientRequest extends Closeable {
    
    /**
     * execute http request.
     *
     * @param uri               http url
     * @param httpMethod        http request method
     * @param requestHttpEntity http request entity
     * @return HttpClientResponse
     * @throws Exception ex
     */
    HttpClientResponse execute(URI uri, String httpMethod, RequestHttpEntity requestHttpEntity) throws Exception;
}
